package br.com.jvet.util.testes;

import java.util.Date;
import java.util.Properties;

import javax.ejb.embeddable.EJBContainer;
import javax.naming.NamingException;

import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import br.com.jvet.constante.Sexo;
import br.com.jvet.constante.TipoTelefone;
import br.com.jvet.constante.UnidadeFederativa;
import br.com.jvet.entidade.Fornecedor;
import br.com.jvet.entidade.Telefone;
import br.com.jvet.persistencia.FornecedorDAO;

public class FornecedorTesteCRUD {
	FornecedorDAO fornecedorDAO;

	private static EJBContainer container;

	@BeforeClass
	public static void setUpContainer() throws Exception {
		Properties props = new Properties();
		props.put("hibernate.dialect", "org.hibernate.dialect.HSQLDialect");
		props.put("hibernate.hbm2ddl.auto", "update");

		container = EJBContainer.createEJBContainer(props);
	}

	@Before
	public void setUpBeans() throws NamingException {
		fornecedorDAO = (FornecedorDAO) container.getContext().lookup(
				"java:global/jvet/FornecedorDAO");
	}

	@Test
	public void testeIncluirFornecedor() {
		Fornecedor forn = new Fornecedor();
		forn.getDadosCadastro().setCnpjCpf("10196985781");
		forn.getDadosCadastro().setDataCadastro(new Date());
		forn.getDadosCadastro().setEmail("teste@teste.com");
		forn.getDadosCadastro().setNome("Vania");
	    forn.getDadosCadastro().getEndereco().setLogradouro("Rua tal");
		forn.getDadosCadastro().getEndereco().setBairro("Vila tal");
		forn.getDadosCadastro().getEndereco().setCep("21324345");
		forn.getDadosCadastro().getEndereco().setUf(UnidadeFederativa.RJ);
		forn.getDadosCadastro().getEndereco().setCidade("Rio de Janeiro");
		forn.getDadosCadastro().setSexo(Sexo.FEMININO);
		Telefone tel = new Telefone();
		tel.setTipoTelefone(TipoTelefone.CELULAR);
		tel.setDdd("21");
		tel.setTel("94560987");
		forn.getDadosCadastro().getTelefones().add(tel);
		
		fornecedorDAO.incluir(forn);

	}

}
